package com.sdx.console.system.entity;

import java.util.Date;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import org.beetl.sql.core.annotatoin.*;
import org.apache.commons.lang3.StringUtils;
import com.ibeetl.admin.core.util.ValidateConfig;
import com.sdx.service.ConfigService;

import org.beetl.sql.core.TailBean;
import java.math.*;

import com.ibeetl.admin.core.annotation.Dict;
import com.ibeetl.admin.core.entity.BaseEntity;

import com.sdx.common.utils.Utils;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

/* 
* 
* gen by Spring Boot2 Admin 2019-01-21
*/
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
@Data
public class PromoteRecord extends BaseEntity{

    @ColumnIgnore
    private Integer userId;
    //推广码
    @AssignID

    private String promoteCode ;

    private String promoteName;
	
    //发起人类型 a、本公司员工，b、区域、c、合作伙伴
    @Dict(type="channel_type")

    private String promoterType ;
	
    //所属渠道

    private String channelCode ;

    @ColumnIgnore
    private String channelName;
	
    //所属公司

    private Integer orgId ;

    @ColumnIgnore
    private String orgName;
	
    //员工id 当发起人类型为本公司员工时有值

    private String customerId ;
	
    //备注

    private String promoteMemo ;
	
    //是否可用 1、正常，0、失效

    private String codeStatus ;
	
    //生成时间

    private Date createdTime ;
	
    //创建人

    private Integer createdBy ;
	
    //创建人名称

    private String createdName ;
	
    //更新时间

    private Date updatedTime ;
	
    //更新人

    private Integer updatedBy ;
	
    //更新人名称

    private String updatedName ;

    private Integer tenantId;

}
